package com.chinacoal.microservice.impl.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.chinacoal.microservice.model.wofkflow.QueryAgentParam;
import com.chinacoal.microservice.model.wofkflow.entity.AgentEntity;
import com.eos.workflow.api.IBPSServiceClient;

/**  
 * @Package: com.chinacoal.microservice.impl.service.AgentService
 * @ClassName: AgentService
 * @ClassDesc: 审批代理
 * @Createby: sunh
 * @CreatedDate: 2019-11-29 10:13:36
 */  
public interface AgentService {
	
	/**  
	 * @Package: com.chinacoal.microservice.impl.service.AgentService.findList
	 * @MethodName: findList
	 * @MethodDesc: 查询代理审批授权列表
	 * @ParamList: {
	 *				 @param page
	 *				 @param pageSize
	 *				 @param param
	 *			   }
	 * @Return: Page<AgentEntity>
	 * @Createby: sunh
	 * @CreatedDate: 2019-12-15 14:49:49
	 */ 
	public Page<AgentEntity> findList(int page, int pageSize, QueryAgentParam param) throws Exception;
	
	/**  
	 * @Package: com.chinacoal.microservice.impl.service.AgentService.findOne
	 * @MethodName: findOne
	 * @MethodDesc: 查询代理审批授权详情信息
	 * @ParamList: {
	 *				 @param agentId
	 *			   }
	 * @Return: AgentEntity
	 * @Createby: sunh
	 * @CreatedDate: 2019-12-15 16:36:53
	 */ 
	public AgentEntity findOne(Long agentId) throws Exception;
	
	/**  
	 * @Package: com.chinacoal.microservice.impl.service.AgentService.insertAgent
	 * @MethodName: insertAgent
	 * @MethodDesc: 新增代理审批授权
	 * @ParamList: {
	 *				 @param client
	 *				 @param agentEntity
	 *			   }
	 * @Return: void
	 * @Createby: sunh
	 * @CreatedDate: 2019-12-15 17:09:52
	 */ 
	public void insertAgent(IBPSServiceClient client, AgentEntity agentEntity) throws Exception;
	
	/**  
	 * @Package: com.chinacoal.microservice.impl.service.AgentService.updateAgent
	 * @MethodName: updateAgent
	 * @MethodDesc: 修改代理审批授权
	 * @ParamList: {
	 *				 @param agentEntity
	 *			   }
	 * @Return: void
	 * @Createby: sunh
	 * @CreatedDate: 2019-12-15 18:08:58
	 */ 
	public void updateAgent(IBPSServiceClient client, AgentEntity agentEntity) throws Exception;
	
	/**  
	 * @Package: com.chinacoal.microservice.impl.service.AgentService.deleteAgent
	 * @MethodName: deleteAgent
	 * @MethodDesc: 删除代理审批授权
	 * @ParamList: {
	 *				 @param client
	 *				 @param agentEntity
	 *			   }
	 * @Return: void
	 * @Createby: sunh
	 * @CreatedDate: 2019-12-15 18:13:15
	 */ 
	public void deleteAgent(IBPSServiceClient client, Long agentId) throws Exception;
	
	/**  
	 * @Package: com.chinacoal.microservice.impl.service.AgentService.deleteAgentItem
	 * @MethodName: deleteAgentItem
	 * @MethodDesc: 删除代理审批授权行信息
	 * @ParamList: {
	 *				 @param agentItemId
	 *			   }
	 * @Return: void
	 * @Createby: sunh
	 * @CreatedDate: 2019-12-15 18:18:15
	 */ 
	public void deleteAgentItem(Long agentItemId) throws Exception;
}
